/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tetris_invader.personagens;

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.Serializable;
import java.net.URL;
import tetris_invader.util.Fase;

public abstract class Animacao extends Personagem implements Serializable{

    private int incremento;
    private int i = 0;

    public Animacao() {
    }

    public Animacao(Fase f, Image[] imagens, int fps) {
        super(f);
        this.imagens = imagens;
        this.incremento = 1;
        this.i = 0;

    }

    public void updateAnimacao() {
        if (f != null) {
            f.repaint();
        }
    }

    @Override
    public void setVelocidade(float velocidade) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void desenha(Graphics2D graphic) {
        graphic.drawImage(imagens[i], point.x, point.y, f);

        if (imagens.length > 1) {
        i += incremento;

            if (i == 0 || i == imagens.length - 1) {
                incremento = -incremento;
            }
        }
    }

    public void explodeDraw(Graphics2D g){
        Image img[] = new Image[1];
        String filename = "/images/explode.gif";
        URL url = Fabrica.class.getResource(filename);
        imagens[0] = Toolkit.getDefaultToolkit().getImage(url);

        g.drawImage(img[0], point.x, point.y,f);
    }

    @Override
    public boolean perdeVida() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void ataque() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * desloca a quantidade explicitada nos parametros
     * @param x quantia a ser deslocada em x
     * @param y quantia a ser deslocada em y
     */
    @Override
    public void deslocamento(int x, int y) {
    }

    @Override
    public void deslocamento() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
